// 系统/窗口配置标志
// 注意：每一个比特位代表一个状态（使用时需配合位掩码）
// 默认情况下所有标志位都设置为0
export enum ConfigFlags {
    FLAG_VSYNC_HINT = 64,   // 设置此标志尝试启用GPU的垂直同步(V-Sync)
    FLAG_FULLSCREEN_MODE = 2,   // 设置此标志使程序运行在全屏模式
    FLAG_WINDOW_RESIZABLE = 4,   // 设置此标志允许调整窗口大小
    FLAG_WINDOW_UNDECORATED = 8,   // 设置此标志禁用窗口装饰（边框和按钮）
    FLAG_WINDOW_HIDDEN = 128,   // 设置此标志隐藏窗口
    FLAG_WINDOW_MINIMIZED = 512,   // 设置此标志最小化窗口（图标化）
    FLAG_WINDOW_MAXIMIZED = 1024,   // 设置此标志最大化窗口（扩展到显示器尺寸）
    FLAG_WINDOW_UNFOCUSED = 2048,   // 设置此标志使窗口处于非聚焦状态
    FLAG_WINDOW_TOPMOST = 4096,   // 设置此标志使窗口始终保持在其他窗口之上
    FLAG_WINDOW_ALWAYS_RUN = 256,   // 设置此标志允许窗口最小化时程序继续运行
    FLAG_WINDOW_TRANSPARENT = 16,   // 设置此标志允许透明帧缓冲
    FLAG_WINDOW_HIGHDPI = 8192,   // 设置此标志支持高DPI显示
    FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384, // 设置此标志支持鼠标穿透（仅在取消窗口装饰时生效）
    FLAG_BORDERLESS_WINDOWED_MODE = 32768, // 设置此标志以无边框窗口模式运行程序
    FLAG_MSAA_4X_HINT = 32,   // 设置此标志尝试启用4倍多重采样抗锯齿(MSAA 4X)
    FLAG_INTERLACED_HINT = 65536    // 设置此标志尝试启用隔行扫描视频格式（用于V3D）
}

//动作
//注：作为位标志提供，只启用所需的手势
export enum Gesture {
    GESTURE_NONE = 0,        // 无手势
    GESTURE_TAP = 1,        // 点击手势（轻触）
    GESTURE_DOUBLETAP = 2,        // 双击手势
    GESTURE_HOLD = 4,        // 长按手势
    GESTURE_DRAG = 8,        // 拖动手势
    GESTURE_SWIPE_RIGHT = 16,       // 向右轻扫手势
    GESTURE_SWIPE_LEFT = 32,       // 向左轻扫手势
    GESTURE_SWIPE_UP = 64,       // 向上轻扫手势
    GESTURE_SWIPE_DOWN = 128,      // 向下轻扫手势
    GESTURE_PINCH_IN = 256,      // 捏合手势（双指向内）
    GESTURE_PINCH_OUT = 512       // 张开手势（双指向外）
}

// 图片
export interface Image {
    ptr: any
}